#ifndef __MACRO_H__
#define __MACRO_H__

#include "Header.h"


///Max BufferSize
///End
#define MAX_BUFFER_LENGTH	255

///Include lib for target platform
///End
#define STRINGIFY(x)	#x
#define TOSTRING(x)		STRINGIFY(x)

#if (CURRENT_PLATFORM == PLATFORM_WIN32_VS)
#	include <Windows.h>
#	include <time.h>
#	include <conio.h>
#	define TODO(x) __pragma(message("[TODO]:" __FILE__ "("TOSTRING(__LINE__)")" TOSTRING(x)));// Log(x);
#endif //Current platform == Win32 with visual studio

#if (CURRENT_PLATFORM == PLATFORM_ANDROID)
#
#endif //Current platform == Android

///Define macro safe release memory
///End
#define SAFE_DEL(p)				if (p){delete p; p = 0;}
#define SAFE_DEL_ARRAY(p)		if (p){delete[] p; p = 0;}

///Variable
///End
#if (CURRENT_PLATFORM == PLATFORM_WIN32_VS || CURRENT_PLATFORM == PLATFORM_ANDROID)
//Interger type
typedef	unsigned long long			__UINT64;
typedef long long					__INT64;
typedef unsigned int				__UINT32;
typedef int							__INT32;
typedef	unsigned short				__UINT16;
typedef short						__INT16;
typedef	unsigned char				__UINT8;
typedef char						__INT8;
//Boolean type
typedef bool						__BOOL;
//Void type
typedef void						__VOID;
#endif //Support for win32 with visual studio and android

#endif